package com.example.fairplay.newfpregistration.util;

import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.view.View;
import android.view.ViewGroup;

import com.example.fairplay.newfpregistration.R;

/**
 * 作者 王伟
 * 公司 深圳菲普莱体育
 * 密级 绝密
 * Created on 2018/7/5.
 */

public class StatusBarCompat {

	private static final int INVALID_VAL = -1;
	private static final int COLOR_DEFAULT = Color.parseColor("#20000000");

	@TargetApi(Build.VERSION_CODES.LOLLIPOP)
	public static void compat(Activity activity, int statusColor) {
		View statusBar = activity.findViewById(R.id.statusBarView);
		ViewGroup.LayoutParams layoutParams = statusBar.getLayoutParams();
		layoutParams.height = getStatusBarHeight(activity);

		//当前手机版本为5.0及以上
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
			if (statusColor != INVALID_VAL) {
				activity.getWindow().setStatusBarColor(statusColor);
			}
			return;
		}

		//当前手机版本为4.4
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
			int color = COLOR_DEFAULT;
			ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
			if (statusColor != INVALID_VAL) {
				color = statusColor;
			}
			View statusBarView = new View(activity);
			ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
					getStatusBarHeight(activity));
			statusBarView.setBackgroundColor(color);
			contentView.addView(statusBarView, lp);
		}

	}

	public static void compat(Activity activity) {
		compat(activity, INVALID_VAL);
	}


	public static int getStatusBarHeight(Context context) {
		int result = 0;
		int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
		if (resourceId > 0) {
			result = context.getResources().getDimensionPixelSize(resourceId);
		}
		return result;
	}

}
